; Command line options for the Renesas RX port of GCC.
; Copyright (C) 2008-2015 Free Software Foundation, Inc.
; Contributed by Red Hat.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING3.  If not see
; <http://www.gnu.org/licenses/>.
;---------------------------------------------------

HeaderInclude
config/rx/rx-opts.h

; The default is -fpu -m32bit-doubles.

m64bit-doubles
Target RejectNegative Mask(64BIT_DOUBLES) Report
Store doubles in 64 bits.

m32bit-doubles
Target RejectNegative InverseMask(64BIT_DOUBLES) Report
Stores doubles in 32 bits.  This is the default.

nofpu
Target RejectNegative Alias(mnofpu)
Disable the use of RX FPU instructions.  

mnofpu
Target RejectNegative Mask(NO_USE_FPU) Report Undocumented

fpu
Target RejectNegative InverseMask(NO_USE_FPU) Report
Enable the use of RX FPU instructions.  This is the default.

;---------------------------------------------------

mcpu=
Target RejectNegative Joined Var(rx_cpu_type) Report ToLower Enum(rx_cpu_types) Init(RX600)
Specify the target RX cpu type.

Enum
Name(rx_cpu_types) Type(enum rx_cpu_types)

EnumValue
Enum(rx_cpu_types) String(rx610) Value(RX610)

EnumValue
Enum(rx_cpu_types) String(rx200) Value(RX200)

EnumValue
Enum(rx_cpu_types) String(rx600) Value(RX600)

EnumValue
Enum(rx_cpu_types) String(rx100) Value(RX100)

;---------------------------------------------------

mbig-endian-data
Target RejectNegative Mask(BIG_ENDIAN_DATA) Report
Data is stored in big-endian format.

mlittle-endian-data
Target RejectNegative InverseMask(BIG_ENDIAN_DATA) Report
Data is stored in little-endian format.  (Default).

;---------------------------------------------------

msmall-data-limit=
Target RejectNegative Joined UInteger Var(rx_small_data_limit) Init(0)
Maximum size of global and static variables which can be placed into the small data area.

;---------------------------------------------------

msim
Target
Use the simulator runtime.

;---------------------------------------------------

mas100-syntax
Target Mask(AS100_SYNTAX) Report
Generate assembler output that is compatible with the Renesas AS100 assembler.  This may restrict some of the compiler's capabilities.  The default is to generate GAS compatible syntax.

;---------------------------------------------------

mrelax
Target
Enable linker relaxation.

;---------------------------------------------------

mmax-constant-size=
Target RejectNegative Joined UInteger Var(rx_max_constant_size) Init(0)
Maximum size in bytes of constant values allowed as operands.

;---------------------------------------------------

mint-register=
Target RejectNegative Joined UInteger Var(rx_deferred_options) Defer
Specifies the number of registers to reserve for interrupt handlers.

;---------------------------------------------------

msave-acc-in-interrupts
Target Mask(SAVE_ACC_REGISTER)
Specifies whether interrupt functions should save and restore the accumulator register.

;---------------------------------------------------

mpid
Target Mask(PID)
Enables Position-Independent-Data (PID) mode.

;---------------------------------------------------

mwarn-multiple-fast-interrupts
Target Report Var(rx_warn_multiple_fast_interrupts) Init(1) Warning
Warn when multiple, different, fast interrupt handlers are in the compilation unit.

mgcc-abi
Target RejectNegative Report Mask(GCC_ABI)
Enable the use of the old, broken, ABI where all stacked function arguments are aligned to 32-bits.

mrx-abi
Target RejectNegative Report InverseMask(GCC_ABI)
Enable the use the standard RX ABI where all stacked function arguments are naturally aligned.  This is the default.

mlra
Target Report Mask(ENABLE_LRA)
Enable the use of the LRA register allocator.
